/**
 * Copyright (C), 2015-2021, XXX有限公司
 * FileName: A
 * Author:   Administrator
 * Date:     2021/8/3 0003 19:20
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package cn.hxlc.tie.demo.modular.material.entity;

import cn.hxlc.tie.demo.core.enums.MaterialTypeEnum;
import cn.hxlc.tie.demo.core.enums.StatusEnum;
import cn.hxlc.tie.libs.scanner.stereotype.EntityResource;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 〈一句话功能简述〉<br> 
 * 〈〉
 *
 * @author jf.xu
 * @create 2021/8/3 0003
 * @since 1.0.0
 */
@Data
@TableName("xjf_bd_material")
@EntityResource(entityName = "物料",enableTagPrint = true)
public class Material implements Serializable {

        @TableId(value = "FID", type = IdType.AUTO)
        private Long fid;

        @TableField("FNUMBER")
        private String fnumber;

        @TableField("FSTATUS")
        private StatusEnum fstatus;

        @TableField("FSIMPLENAME")
        private String fsimplename;

        @TableField("FNAME")
        private String fname;

        @TableField("FCREATETIME")

        private Date fcreatetime;

        @TableField("FUPDATETIME")

        private Date fupdatetime;

        @TableField("FBASEUNITID")
        private Long fbaseunitid;

        @TableField("FCREATORID")
        private Long fcreatorid;

        @TableField("FGROUPID")
        private Long fgroupid;

        @TableField("FCOLORID")
        private Long fcolorid;


        @TableField("FTYPE")
        @JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString)
        private MaterialTypeEnum ftype;

        @TableField("FLENGTH")
        private BigDecimal flength;

        @TableField("FWIDTH")
        private BigDecimal fwidth;

        @TableField("FHEIGHT")
        private BigDecimal fheight;

        @TableField("FVOLUME")
        private BigDecimal fvolume;

        @TableField("FSIZEUNITID")
        private Long fsizeunitid;

        @TableField("FISUSESHELFLIFE")
        private Integer fisuseShelfLife;

        @TableField("FSHELFLIFE")
        private Long fshelfLife;

        @TableField("FISUSEAUXPROPERTY")
        private Integer fisuseAuxProperty;

        @TableField("FAUXPROPERTY")
        private String fauxProperty;

        @TableField("FISPACKAGE")
        private Integer fispackage;

}
